#pragma once

#include "memdb/memdb.h"

namespace memdb {
namespace impl {
namespace mock {

class MockDB : public memdb::IDB {
public:
  MockDB();
  ~MockDB() override;

  std::error_code open() override ;
  std::error_code close() override ;
  bool isOpened() const override { return _opened; }
  
  bool exists() const override ;
  std::error_code destroy() override ;

  ITables & tables() const override ;

private:
  ITables * _tables;
  bool _opened = false;
};

}//namespace mock
}//namespace impl
}//namespace memdb
